<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>OME Architecture Diagram</title>
    <style>
        body {
            margin: 0;
            padding: 20px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            background-color: #f5f5f5;
        }
        .container {
            max-width: 1600px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        h1 {
            text-align: center;
            color: #333;
            margin-bottom: 30px;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>OME (Open Model Engine) Architecture</h1>
        <svg width="1600" height="1200" xmlns="http://www.w3.org/2000/svg">
            <defs>
                <!-- Define gradients -->
                <linearGradient id="userGradient" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" style="stop-color:#e3f2fd;stop-opacity:1" />
                    <stop offset="100%" style="stop-color:#bbdefb;stop-opacity:1" />
                </linearGradient>
                <linearGradient id="k8sGradient" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" style="stop-color:#326ce5;stop-opacity:0.1" />
                    <stop offset="100%" style="stop-color:#326ce5;stop-opacity:0.2" />
                </linearGradient>
                <linearGradient id="controlGradient" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" style="stop-color:#7c4dff;stop-opacity:0.1" />
                    <stop offset="100%" style="stop-color:#7c4dff;stop-opacity:0.2" />
                </linearGradient>
                <linearGradient id="dataGradient" x1="0%" y1="0%" x2="0%" y2="100%">
                    <stop offset="0%" style="stop-color:#00897b;stop-opacity:0.1" />
                    <stop offset="100%" style="stop-color:#00897b;stop-opacity:0.2" />
                </linearGradient>
                
                <!-- Define shadows -->
                <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
                    <feGaussianBlur in="SourceAlpha" stdDeviation="3"/>
                    <feOffset dx="2" dy="2" result="offsetblur"/>
                    <feComponentTransfer>
                        <feFuncA type="linear" slope="0.2"/>
                    </feComponentTransfer>
                    <feMerge>
                        <feMergeNode/>
                        <feMergeNode in="SourceGraphic"/>
                    </feMerge>
                </filter>
                
                <!-- Arrow markers -->
                <marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
                    <polygon points="0 0, 10 3.5, 0 7" fill="#666" />
                </marker>
            </defs>
            
            <!-- User Layer -->
            <g id="userLayer">
                <rect x="50" y="50" width="1500" height="120" rx="10" fill="url(#userGradient)" stroke="#1976d2" stroke-width="2"/>
                <text x="800" y="80" text-anchor="middle" font-size="18" font-weight="bold" fill="#0d47a1">User/Client Layer</text>
                
                <!-- User components -->
                <rect x="200" y="100" width="200" height="50" rx="5" fill="white" stroke="#1976d2" filter="url(#shadow)"/>
                <text x="300" y="130" text-anchor="middle" font-size="14" fill="#333">User/Application</text>
                
                <rect x="500" y="100" width="200" height="50" rx="5" fill="white" stroke="#1976d2" filter="url(#shadow)"/>
                <text x="600" y="130" text-anchor="middle" font-size="14" fill="#333">kubectl/API Client</text>
                
                <rect x="800" y="100" width="200" height="50" rx="5" fill="white" stroke="#1976d2" filter="url(#shadow)"/>
                <text x="900" y="130" text-anchor="middle" font-size="14" fill="#333">Benchmark Client</text>
                
                <rect x="1100" y="100" width="200" height="50" rx="5" fill="white" stroke="#1976d2" filter="url(#shadow)"/>
                <text x="1200" y="130" text-anchor="middle" font-size="14" fill="#333">Model Repository</text>
            </g>
            
            <!-- Kubernetes API Layer -->
            <g id="k8sLayer">
                <rect x="50" y="200" width="1500" height="280" rx="10" fill="url(#k8sGradient)" stroke="#326ce5" stroke-width="2"/>
                <text x="800" y="230" text-anchor="middle" font-size="18" font-weight="bold" fill="#1a237e">Kubernetes API Layer</text>
                
                <!-- CRDs -->
                <g id="crds">
                    <rect x="100" y="250" width="900" height="200" rx="5" fill="#e8eaf6" stroke="#5e35b1" stroke-width="1" stroke-dasharray="5,5"/>
                    <text x="550" y="270" text-anchor="middle" font-size="14" font-weight="bold" fill="#4527a0">Custom Resources (ome.io/v1beta1)</text>
                    
                    <!-- Individual CRDs -->
                    <rect x="120" y="290" width="160" height="140" rx="5" fill="white" stroke="#7e57c2" stroke-width="2" filter="url(#shadow)"/>
                    <text x="200" y="310" text-anchor="middle" font-size="12" font-weight="bold" fill="#5e35b1">InferenceService</text>
                    <text x="200" y="330" text-anchor="middle" font-size="10" fill="#666">• Engine Component</text>
                    <text x="200" y="345" text-anchor="middle" font-size="10" fill="#666">• Decoder Component</text>
                    <text x="200" y="360" text-anchor="middle" font-size="10" fill="#666">• Router Component</text>
                    <text x="200" y="375" text-anchor="middle" font-size="10" fill="#666">• Model Reference</text>
                    <text x="200" y="390" text-anchor="middle" font-size="10" fill="#666">• Runtime Reference</text>
                    <text x="200" y="405" text-anchor="middle" font-size="10" fill="#666">• Autoscaling Config</text>
                    
                    <rect x="300" y="290" width="140" height="140" rx="5" fill="white" stroke="#7e57c2" stroke-width="2" filter="url(#shadow)"/>
                    <text x="370" y="310" text-anchor="middle" font-size="12" font-weight="bold" fill="#5e35b1">BaseModel</text>
                    <text x="370" y="330" text-anchor="middle" font-size="10" fill="#666">• Model Source</text>
                    <text x="370" y="345" text-anchor="middle" font-size="10" fill="#666">• Format/Arch</text>
                    <text x="370" y="360" text-anchor="middle" font-size="10" fill="#666">• Quantization</text>
                    <text x="370" y="375" text-anchor="middle" font-size="10" fill="#666">• Capabilities</text>
                    <text x="370" y="390" text-anchor="middle" font-size="10" fill="#666">• Storage Spec</text>
                    <text x="370" y="410" text-anchor="middle" font-size="9" fill="#999">(+ ClusterBaseModel)</text>
                    
                    <rect x="460" y="290" width="140" height="140" rx="5" fill="white" stroke="#7e57c2" stroke-width="2" filter="url(#shadow)"/>
                    <text x="530" y="310" text-anchor="middle" font-size="12" font-weight="bold" fill="#5e35b1">ServingRuntime</text>
                    <text x="530" y="330" text-anchor="middle" font-size="10" fill="#666">• Container Specs</text>
                    <text x="530" y="345" text-anchor="middle" font-size="10" fill="#666">• Model Formats</text>
                    <text x="530" y="360" text-anchor="middle" font-size="10" fill="#666">• Resources</text>
                    <text x="530" y="375" text-anchor="middle" font-size="10" fill="#666">• Runtime Type</text>
                    <text x="530" y="390" text-anchor="middle" font-size="10" fill="#666">• Pod Template</text>
                    <text x="530" y="410" text-anchor="middle" font-size="9" fill="#999">(+ ClusterServingRuntime)</text>
                    
                    <rect x="620" y="290" width="140" height="140" rx="5" fill="white" stroke="#7e57c2" stroke-width="2" filter="url(#shadow)"/>
                    <text x="690" y="310" text-anchor="middle" font-size="12" font-weight="bold" fill="#5e35b1">BenchmarkJob</text>
                    <text x="690" y="330" text-anchor="middle" font-size="10" fill="#666">• Traffic Patterns</text>
                    <text x="690" y="345" text-anchor="middle" font-size="10" fill="#666">• Concurrency</text>
                    <text x="690" y="360" text-anchor="middle" font-size="10" fill="#666">• Dataset Config</text>
                    <text x="690" y="375" text-anchor="middle" font-size="10" fill="#666">• Target Service</text>
                    <text x="690" y="390" text-anchor="middle" font-size="10" fill="#666">• Result Storage</text>
                    
                    <rect x="780" y="290" width="140" height="140" rx="5" fill="white" stroke="#7e57c2" stroke-width="2" filter="url(#shadow)"/>
                    <text x="850" y="310" text-anchor="middle" font-size="12" font-weight="bold" fill="#5e35b1">FineTunedWeight</text>
                    <text x="850" y="330" text-anchor="middle" font-size="10" fill="#666">• LoRA Adapters</text>
                    <text x="850" y="345" text-anchor="middle" font-size="10" fill="#666">• Base Model Ref</text>
                    <text x="850" y="360" text-anchor="middle" font-size="10" fill="#666">• Weight Source</text>
                    <text x="850" y="375" text-anchor="middle" font-size="10" fill="#666">• Adapter Config</text>
                </g>
                
                <!-- Webhooks -->
                <g id="webhooks">
                    <rect x="1050" y="250" width="450" height="200" rx="5" fill="#fff3cd" stroke="#ff6f00" stroke-width="1" stroke-dasharray="5,5"/>
                    <text x="1275" y="270" text-anchor="middle" font-size="14" font-weight="bold" fill="#e65100">Admission Webhooks</text>
                    
                    <rect x="1080" y="290" width="130" height="60" rx="5" fill="white" stroke="#ff8f00" stroke-width="2" filter="url(#shadow)"/>
                    <text x="1145" y="315" text-anchor="middle" font-size="11" font-weight="bold" fill="#ff6f00">Validating</text>
                    <text x="1145" y="335" text-anchor="middle" font-size="9" fill="#666">Resource Validation</text>
                    
                    <rect x="1230" y="290" width="130" height="60" rx="5" fill="white" stroke="#ff8f00" stroke-width="2" filter="url(#shadow)"/>
                    <text x="1295" y="315" text-anchor="middle" font-size="11" font-weight="bold" fill="#ff6f00">Mutating</text>
                    <text x="1295" y="335" text-anchor="middle" font-size="9" fill="#666">Default Values</text>
                    
                    <rect x="1080" y="370" width="280" height="75" rx="5" fill="white" stroke="#ff8f00" stroke-width="2" filter="url(#shadow)"/>
                    <text x="1220" y="395" text-anchor="middle" font-size="11" font-weight="bold" fill="#ff6f00">Pod Mutator</text>
                    <text x="1220" y="415" text-anchor="middle" font-size="9" fill="#666">Sidecar Injection / Init Containers</text>
                    <text x="1220" y="430" text-anchor="middle" font-size="9" fill="#666">RDMA Config Injection (Profile-based)</text>
                </g>
            </g>
            
            <!-- Control Plane -->
            <g id="controlPlane">
                <rect x="50" y="510" width="1500" height="220" rx="10" fill="url(#controlGradient)" stroke="#7c4dff" stroke-width="2"/>
                <text x="800" y="540" text-anchor="middle" font-size="18" font-weight="bold" fill="#4527a0">Control Plane</text>
                
                <!-- OME Manager -->
                <rect x="100" y="560" width="300" height="140" rx="5" fill="white" stroke="#9c27b0" stroke-width="2" filter="url(#shadow)"/>
                <text x="250" y="585" text-anchor="middle" font-size="14" font-weight="bold" fill="#7b1fa2">OME Manager</text>
                <text x="250" y="605" text-anchor="middle" font-size="10" fill="#666">• InferenceService Controller</text>
                <text x="250" y="620" text-anchor="middle" font-size="10" fill="#666">• BaseModel Controller</text>
                <text x="250" y="635" text-anchor="middle" font-size="10" fill="#666">• BenchmarkJob Controller</text>
                <text x="250" y="650" text-anchor="middle" font-size="10" fill="#666">• ServingRuntime Controller</text>
                <text x="250" y="665" text-anchor="middle" font-size="10" fill="#666">• FineTunedWeight Controller</text>
                
                <!-- Reconcilers -->
                <g id="reconcilers">
                    <rect x="450" y="560" width="1050" height="140" rx="5" fill="#f3e5f5" stroke="#ab47bc" stroke-width="1" stroke-dasharray="5,5"/>
                    <text x="975" y="580" text-anchor="middle" font-size="12" font-weight="bold" fill="#8e24aa">Reconcilers</text>
                    
                    <rect x="470" y="595" width="140" height="80" rx="5" fill="white" stroke="#ba68c8" stroke-width="1" filter="url(#shadow)"/>
                    <text x="540" y="615" text-anchor="middle" font-size="10" font-weight="bold" fill="#8e24aa">Deployment</text>
                    <text x="540" y="630" text-anchor="middle" font-size="9" fill="#666">Creates Pods</text>
                    <text x="540" y="645" text-anchor="middle" font-size="9" fill="#666">Manages Replicas</text>
                    <text x="540" y="660" text-anchor="middle" font-size="9" fill="#666">Rolling Updates</text>
                    
                    <rect x="630" y="595" width="140" height="95" rx="5" fill="white" stroke="#ba68c8" stroke-width="1" filter="url(#shadow)"/>
                    <text x="700" y="615" text-anchor="middle" font-size="10" font-weight="bold" fill="#8e24aa">Ingress</text>
                    <text x="700" y="630" text-anchor="middle" font-size="9" fill="#666">K8s Ingress</text>
                    <text x="700" y="645" text-anchor="middle" font-size="9" fill="#666">Gateway API</text>
                    <text x="700" y="660" text-anchor="middle" font-size="9" fill="#666">Istio VirtualService</text>
                    <text x="700" y="675" text-anchor="middle" font-size="9" fill="#666">Path/Host Routing</text>
                    
                    <rect x="790" y="595" width="140" height="80" rx="5" fill="white" stroke="#ba68c8" stroke-width="1" filter="url(#shadow)"/>
                    <text x="860" y="615" text-anchor="middle" font-size="10" font-weight="bold" fill="#8e24aa">Autoscaling</text>
                    <text x="860" y="630" text-anchor="middle" font-size="9" fill="#666">HPA Creation</text>
                    <text x="860" y="645" text-anchor="middle" font-size="9" fill="#666">KEDA ScaledObject</text>
                    <text x="860" y="660" text-anchor="middle" font-size="9" fill="#666">Custom Metrics</text>
                    
                    <rect x="950" y="595" width="140" height="80" rx="5" fill="white" stroke="#ba68c8" stroke-width="1" filter="url(#shadow)"/>
                    <text x="1020" y="615" text-anchor="middle" font-size="10" font-weight="bold" fill="#8e24aa">Multi-Node</text>
                    <text x="1020" y="630" text-anchor="middle" font-size="9" fill="#666">LeaderWorkerSet</text>
                    <text x="1020" y="645" text-anchor="middle" font-size="9" fill="#666">Ray Cluster</text>
                    <text x="1020" y="660" text-anchor="middle" font-size="9" fill="#666">Pod Coordination</text>
                    
                    <rect x="1110" y="595" width="140" height="80" rx="5" fill="white" stroke="#ba68c8" stroke-width="1" filter="url(#shadow)"/>
                    <text x="1180" y="615" text-anchor="middle" font-size="10" font-weight="bold" fill="#8e24aa">Model Config</text>
                    <text x="1180" y="630" text-anchor="middle" font-size="9" fill="#666">ConfigMap Gen</text>
                    <text x="1180" y="645" text-anchor="middle" font-size="9" fill="#666">Runtime Config</text>
                    <text x="1180" y="660" text-anchor="middle" font-size="9" fill="#666">Adapter Config</text>
                    
                    <rect x="1270" y="595" width="140" height="80" rx="5" fill="white" stroke="#ba68c8" stroke-width="1" filter="url(#shadow)"/>
                    <text x="1340" y="615" text-anchor="middle" font-size="10" font-weight="bold" fill="#8e24aa">RBAC</text>
                    <text x="1340" y="630" text-anchor="middle" font-size="9" fill="#666">ServiceAccount</text>
                    <text x="1340" y="645" text-anchor="middle" font-size="9" fill="#666">Role Bindings</text>
                    <text x="1340" y="660" text-anchor="middle" font-size="9" fill="#666">Security Policies</text>
                </g>
            </g>
            
            <!-- Data Plane -->
            <g id="dataPlane">
                <rect x="50" y="760" width="1500" height="320" rx="10" fill="url(#dataGradient)" stroke="#00897b" stroke-width="2"/>
                <text x="800" y="790" text-anchor="middle" font-size="18" font-weight="bold" fill="#004d40">Data Plane</text>
                
                <!-- Node Agents -->
                <g id="nodeAgents">
                    <rect x="100" y="810" width="400" height="240" rx="5" fill="#e0f2f1" stroke="#00796b" stroke-width="1" stroke-dasharray="5,5"/>
                    <text x="300" y="830" text-anchor="middle" font-size="12" font-weight="bold" fill="#00695c">Node Agents</text>
                    
                    <rect x="120" y="850" width="160" height="125" rx="5" fill="white" stroke="#26a69a" stroke-width="2" filter="url(#shadow)"/>
                    <text x="200" y="870" text-anchor="middle" font-size="11" font-weight="bold" fill="#00897b">Model Agent</text>
                    <text x="200" y="885" text-anchor="middle" font-size="8" fill="#f57c00">[DaemonSet]</text>
                    <text x="200" y="900" text-anchor="middle" font-size="9" fill="#666">• Model Download</text>
                    <text x="200" y="915" text-anchor="middle" font-size="9" fill="#666">• Config Parsing</text>
                    <text x="200" y="930" text-anchor="middle" font-size="9" fill="#666">• Status Management</text>
                    <text x="200" y="945" text-anchor="middle" font-size="9" fill="#666">• Node Labeling</text>
                    <text x="200" y="960" text-anchor="middle" font-size="9" fill="#666">• Health Monitoring</text>
                    
                    <rect x="300" y="850" width="180" height="95" rx="5" fill="white" stroke="#26a69a" stroke-width="2" filter="url(#shadow)"/>
                    <text x="390" y="870" text-anchor="middle" font-size="11" font-weight="bold" fill="#00897b">OME Agent Suite</text>
                    <text x="390" y="885" text-anchor="middle" font-size="9" fill="#666">• Enigma (Encryption)</text>
                    <text x="390" y="900" text-anchor="middle" font-size="9" fill="#666">• HF Download</text>
                    <text x="390" y="915" text-anchor="middle" font-size="9" fill="#666">• Replica Management</text>
                    <text x="390" y="930" text-anchor="middle" font-size="9" fill="#666">• LoRA Adapter Mgmt</text>
                </g>
                
                <!-- Inference Workloads -->
                <g id="inferenceWorkloads">
                    <rect x="530" y="810" width="650" height="240" rx="5" fill="#c8e6c9" stroke="#388e3c" stroke-width="1" stroke-dasharray="5,5"/>
                    <text x="855" y="830" text-anchor="middle" font-size="12" font-weight="bold" fill="#2e7d32">Inference Workloads</text>
                    
                    <rect x="550" y="850" width="180" height="180" rx="5" fill="white" stroke="#66bb6a" stroke-width="2" filter="url(#shadow)"/>
                    <text x="640" y="870" text-anchor="middle" font-size="11" font-weight="bold" fill="#388e3c">Engine Pod(s)</text>
                    <text x="640" y="890" text-anchor="middle" font-size="9" fill="#666">• Model Serving</text>
                    <text x="640" y="905" text-anchor="middle" font-size="9" fill="#666">• Request Processing</text>
                    <text x="640" y="920" text-anchor="middle" font-size="9" fill="#666">• Leader/Worker Mode</text>
                    <text x="640" y="940" text-anchor="middle" font-size="9" font-weight="bold" fill="#2e7d32">Runtimes:</text>
                    <text x="640" y="955" text-anchor="middle" font-size="9" fill="#666">• SGLang</text>
                    <text x="640" y="970" text-anchor="middle" font-size="9" fill="#666">• vLLM</text>
                    <text x="640" y="985" text-anchor="middle" font-size="9" fill="#666">• TensorRT-LLM</text>
                    <text x="640" y="1000" text-anchor="middle" font-size="9" fill="#666">• Triton</text>
                    
                    <rect x="750" y="850" width="180" height="120" rx="5" fill="white" stroke="#66bb6a" stroke-width="2" filter="url(#shadow)"/>
                    <text x="840" y="870" text-anchor="middle" font-size="11" font-weight="bold" fill="#388e3c">Decoder Pod(s)</text>
                    <text x="840" y="890" text-anchor="middle" font-size="9" fill="#666">• Token Decoding</text>
                    <text x="840" y="905" text-anchor="middle" font-size="9" fill="#666">• Prefill-Decode Split</text>
                    <text x="840" y="920" text-anchor="middle" font-size="9" fill="#666">• Stream Processing</text>
                    <text x="840" y="935" text-anchor="middle" font-size="9" fill="#666">• Leader/Worker Mode</text>
                    <text x="840" y="955" text-anchor="middle" font-size="8" fill="#f57c00">[Optional Component]</text>
                    
                    <rect x="950" y="850" width="180" height="135" rx="5" fill="white" stroke="#66bb6a" stroke-width="2" filter="url(#shadow)"/>
                    <text x="1040" y="870" text-anchor="middle" font-size="11" font-weight="bold" fill="#388e3c">Router Pod</text>
                    <text x="1040" y="890" text-anchor="middle" font-size="9" fill="#666">• Cache-Aware LB</text>
                    <text x="1040" y="905" text-anchor="middle" font-size="9" fill="#666">• Prefill-Decode LB</text>
                    <text x="1040" y="920" text-anchor="middle" font-size="9" fill="#666">• Power of Two LB</text>
                    <text x="1040" y="935" text-anchor="middle" font-size="9" fill="#666">• Random/Round Robin</text>
                    <text x="1040" y="950" text-anchor="middle" font-size="9" fill="#666">• Request Routing</text>
                    <text x="1040" y="970" text-anchor="middle" font-size="8" fill="#f57c00">[Optional Component]</text>
                </g>
                
                <!-- Benchmark Workloads -->
                <g id="benchmarkWorkloads">
                    <rect x="1210" y="810" width="290" height="240" rx="5" fill="#ffccbc" stroke="#d84315" stroke-width="1" stroke-dasharray="5,5"/>
                    <text x="1355" y="830" text-anchor="middle" font-size="12" font-weight="bold" fill="#bf360c">Benchmark Workloads</text>
                    
                    <rect x="1230" y="850" width="250" height="80" rx="5" fill="white" stroke="#ff5722" stroke-width="2" filter="url(#shadow)"/>
                    <text x="1355" y="870" text-anchor="middle" font-size="11" font-weight="bold" fill="#d84315">Benchmark Pod</text>
                    <text x="1355" y="890" text-anchor="middle" font-size="9" fill="#666">• genai-bench Tool</text>
                    <text x="1355" y="905" text-anchor="middle" font-size="9" fill="#666">• Traffic Generation</text>
                    <text x="1355" y="920" text-anchor="middle" font-size="9" fill="#666">• Metrics Collection</text>
                </g>
            </g>
            
            <!-- External Integrations -->
            <g id="externalIntegrations">
                <rect x="50" y="1100" width="700" height="80" rx="10" fill="#fce4ec" stroke="#e91e63" stroke-width="2"/>
                <text x="400" y="1125" text-anchor="middle" font-size="14" font-weight="bold" fill="#880e4f">External Integrations</text>
                
                <rect x="70" y="1140" width="80" height="30" rx="5" fill="white" stroke="#f06292" stroke-width="1"/>
                <text x="110" y="1158" text-anchor="middle" font-size="10" fill="#c2185b">KEDA</text>
                
                <rect x="160" y="1140" width="80" height="30" rx="5" fill="white" stroke="#f06292" stroke-width="1"/>
                <text x="200" y="1158" text-anchor="middle" font-size="10" fill="#c2185b">Gateway API</text>
                
                <rect x="250" y="1140" width="80" height="30" rx="5" fill="white" stroke="#f06292" stroke-width="1"/>
                <text x="290" y="1158" text-anchor="middle" font-size="10" fill="#c2185b">Istio</text>
                
                <rect x="340" y="1140" width="100" height="30" rx="5" fill="white" stroke="#f06292" stroke-width="1"/>
                <text x="390" y="1158" text-anchor="middle" font-size="10" fill="#c2185b">LeaderWorkerSet</text>
                
                <rect x="450" y="1140" width="80" height="30" rx="5" fill="white" stroke="#f06292" stroke-width="1"/>
                <text x="490" y="1158" text-anchor="middle" font-size="10" fill="#c2185b">Ray</text>
                
                <rect x="540" y="1140" width="80" height="30" rx="5" fill="white" stroke="#f06292" stroke-width="1"/>
                <text x="580" y="1158" text-anchor="middle" font-size="10" fill="#c2185b">Kueue</text>
                
                <rect x="630" y="1140" width="100" height="30" rx="5" fill="white" stroke="#f06292" stroke-width="1"/>
                <text x="680" y="1158" text-anchor="middle" font-size="10" fill="#c2185b">Prometheus</text>
            </g>
            
            <!-- Storage Layer -->
            <g id="storageLayer">
                <rect x="850" y="1100" width="700" height="80" rx="10" fill="#fff8e1" stroke="#ff8f00" stroke-width="2"/>
                <text x="1200" y="1125" text-anchor="middle" font-size="14" font-weight="bold" fill="#e65100">Storage Layer</text>
                
                <rect x="870" y="1140" width="150" height="30" rx="5" fill="white" stroke="#ffb74d" stroke-width="1"/>
                <text x="945" y="1158" text-anchor="middle" font-size="10" fill="#f57c00">OCI Object Storage</text>
                
                <rect x="1030" y="1140" width="100" height="30" rx="5" fill="white" stroke="#ffb74d" stroke-width="1"/>
                <text x="1080" y="1158" text-anchor="middle" font-size="10" fill="#f57c00">PVC Storage</text>
                
                <rect x="1140" y="1140" width="120" height="30" rx="5" fill="white" stroke="#ffb74d" stroke-width="1"/>
                <text x="1200" y="1158" text-anchor="middle" font-size="10" fill="#f57c00">HuggingFace Hub</text>
                
                <rect x="1270" y="1140" width="120" height="30" rx="5" fill="white" stroke="#ffb74d" stroke-width="1"/>
                <text x="1330" y="1158" text-anchor="middle" font-size="10" fill="#f57c00">Vendor Storage</text>
                
                <rect x="1400" y="1140" width="130" height="30" rx="5" fill="white" stroke="#ffb74d" stroke-width="1"/>
                <text x="1465" y="1158" text-anchor="middle" font-size="10" fill="#f57c00">Benchmark Results</text>
            </g>
            
        </svg>
    </div>
</body>
</html>